PchButik.se

Enklaste koden

Enklaste koden bild 1Enklaste koden bild 2

Simulera med kopp vatten

Simulera med kopp vatten

Endast PWR-LED

Tänds bara PWR-LED och inte DO-LED, då är jordfukten under din satta nivå.

Och jorden behöver vatten.

Endast PWR-LED

När båda LED lyser

Då är jorden fortfarande fuktig, och inget mer vatten behövs.

Pumpen eller ett larm kan styras med pinne 13.

Denna styrning finns med i koden, men detta experiment har inga bilder eller beskrivning hur pump och relä eller larm kopplas.

Inköpslista:

  • 0098 Aktiv sensor för jordfukt justerbar, passar Arduino mm: länk
  • 0541 UNO kort, Budget-version av ARDUINO UNO R3: länk
  • 1299 10 cm Flatkabel med hona-hane kontakter, 40 kablar bred: länk
När båda LED lyser

kopplings schema

Originalkod med kommentarer:

//PchButik.se
//Per-Anders Hult

//Pinnar
#define PIN_POWER_JORDFUKT 4 // Ström till jordfukt sensor
#define PIN_JORDFUKT_IN 5 // Över eller under gränsläge för jordfukt
#define PIN_PUMP_RELAY_UT 13 //Pump måste ha relä

//om en rad börjar med två snesträck kommer den kodraden vara inaktiv.
// beroend på modell av relä, kan relä vara aktiv vid utsignal HIGH eller LOW
// Vanligast är att relämodul är aktiv med LOW

void setup() {
  // put your setup code here, to run once:
  pinMode(PIN_POWER_JORDFUKT, OUTPUT); //pinne som startar jordfuktsmätare ska vara utgång
  pinMode(PIN_JORDFUKT_IN, INPUT); //pinne som läser av jordfuktsmätare ska vara ingång
  pinMode(PIN_PUMP_RELAY_UT, OUTPUT); //pinne som startar pump relä ska vara utgång

  digitalWrite(PIN_PUMP_RELAY_UT, HIGH); //stäng av pump, ändra denna rad till LOW vid behov
  
  digitalWrite(PIN_POWER_JORDFUKT, HIGH); //Power test
  delay(1000); // jordfukt sensor PWR-LED ska lysa i 1 sekund
  digitalWrite(PIN_POWER_JORDFUKT, LOW); // Stäng av ström till jordfukt sensor
  delay(5000); // Vänta 5 sekunder innan systemet startar
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(PIN_POWER_JORDFUKT, HIGH); //Power on
  delay(2000); //Tid för uppstart av jordfukt sensor innan mätning ska ske 2000 = 2 sekunder.
  if(digitalRead(PIN_JORDFUKT_IN) == HIGH){ // testar om jorden är fuktig
    digitalWrite(PIN_POWER_JORDFUKT, LOW); // Stäng av ström till jordfukt sensor
    digitalWrite(PIN_PUMP_RELAY_UT, LOW); //Starta pump, ändra denna rad till HIGH vid behov
    delay(5000); //Tid som pumpen ska gå. 5000 = 5 sekunder, eller välj eget värde.
    digitalWrite(PIN_PUMP_RELAY_UT, HIGH); //stäng av pump, ändra denna rad till LOW vid behov
  }
  digitalWrite(PIN_POWER_JORDFUKT, LOW); // Stäng av ström till jordfukt sensor
  // Ger en paus på en vecka innan nästa vattning.
  // 7 dagar x 24 timmar per dygn = 168 timmar
  // 168 timmar x  60 minuter per timme = 10080 minuter
  // 10080 minuter x 60 sekunder per minut = 604800 sekunder
  // 604800 sekunder x 1000 dels sekunder(mS) = 604800000
  delay(604800000); //Väntar 7 dagar till nästa bevattning, eller välj eget värde.
  
  //delay(5000); //Denna avänds bara i videon, för att videon inte ska vara en vecka lång.

}

Video

Video som visar grundkoppling och enkel funktion.

Video som visar fortsatt test och beteende i praktiken.

Denna sida är konverterad med hjälp av AI.
En sida för dig som bygger elektronik själv, experimenterar och laborerar.
Skapad av Per-Anders Hult för PchButik.se.